package com.guanglan.utils;

/**   
* @Title: PageUtil.java
* @Package com.wzy.utils
* @Description: TODO
* @author Wangzhiyong   
* @date 2016年11月23日 下午3:32:20
* @version V1.0   
*/
public class PageUtil {
	
	/*@RequestMapping("/test")
	public String test(Model model,@RequestParam(value="nowPage",defaultValue = "1") int nowPage){
		int start = PageUtil.getStart(nowPage);  //获取到的开始查询索引
		int pageSize = PageUtil.pageSize; //获取页面容量
		int countPage = PageUtil.countPage(查询到的数据总数);
		String html = PageUtil.getPanationStringHtml(countPage, nowPage);
		model.addAttribute("html",html);
		return "list";
	}*/
	
	
	
	/*
	 * <input type="hidden" name="nowPage" id="nowPage"/>
	 * 
	 * 
	 * function doPanation(nowPage){
	 * 		$('#nowPage').val(nowPage);
	 * 		$('#').submit();
	 * }
	 * 
	 * 
	 * */

	public static final int pageSize = 10; //默认每页显示10条
	
	/**
	 * 获取查询到数据的总页数
	* @Title: countPage 
	* @Description: TODO
	* @param @return  参数说明 
	* @return int    返回类型 
	* @throws
	 */
	public static int countPage(int count){
		int countPage = (count  +  pageSize  - 1) / pageSize;
		return countPage > 0 ? countPage : 1;
	}
	
	/**
    * 获取数据库开始查询的索引
	* @Title: getStart 
	* @Description: TODO
	* @param @param nowPage
	* @param @param pageSize
	* @param @return  参数说明 
	* @return int    返回类型 
	* @throws
	 */
	public static int getStart(int nowPage){
			int start = (nowPage - 1) * pageSize;
			return start;
	}
	
	/**
	* @Title: getPanationStringHtml 
	* @Description: TODO
	* @param @return  参数说明  countPage总页数    nowPage当前页
	* @return String    返回类型 
	* @throws
	*/
	 public static String getPanationStringHtml(int countPage,int nowPage){
		 
		 int s = (nowPage - 1) < 1 ? 1 : (nowPage - 1);  //最小页码
		 
		 int begin = s >= 5 ? (s-3) : 1; 
		 
		 int countNum = countPage = countPage == 0 ? 1 : countPage; //总页数
		 
		 int e = (nowPage + 1) > countPage ? countPage : (nowPage + 1); //最大页码
		 
		 int end = (s + 5) >= countNum ? countNum : (s + 5);
		 
		 StringBuffer sbf = new StringBuffer();
		 String page = "<nav class='clearfix'>"
			+"<ul class='pagination'>"
				+"<li><a href='javascript:doPanation(1)'>首页</a></li>"
				+"<li>"
					+"<a href='javascript:doPanation("+s+")' aria-label='Previous'>"
						+"<span aria-hidden='true'>&laquo;</span>"
					+"</a>"
				+"</li>";
		 	sbf.append(page);
		 			
					for(int i = begin ; i <= end; i++){
						System.out.println("begin"+begin+"--- end"+end);
						if(nowPage == i){
							sbf.append("<li class = 'active'>");
						}else{
							sbf.append("<li>");
						}
						sbf.append("<a href='javascript:doPanation("+i+")'>"+i+"</a></li>");
					}
					
					String page1 = "<li>"
					+"<a href='javascript:doPanation("+e+")' aria-label='Next'>"
						+"<span aria-hidden='true'>&raquo;</span>"
					+"</a>"
				+"</li>"
				+"<li><a href='javascript:doPanation("+countNum+")'>末页</a></li>"
			+"</ul>"
			+"</nav>";
			sbf.append(page1);
			
			return sbf.toString();
   }																																																																										
}
